/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pokemon.services;

import com.pokemon.dto.StadiumDTO;
import java.util.List;

/**
 *
 * @author Ladislav
 */
public interface StadiumService {
    /**
     * Adds stadium into database
     * 
     * @param stadium new stadium
     */
    StadiumDTO addStadium(StadiumDTO stadium);
    
    /**
     * Extract stadium from database according its id
     * 
     * @param id is id of stadion which we want get from database
     * @return   stadium acoording id, null while id can not be found
     */
    StadiumDTO getStadium(Long id);
    
    /**
     * Updates stadium in database.
     * 
     * @param stadium updated stadium
     */
    StadiumDTO updateStadium(StadiumDTO stadium);
    
    /**
     * Removes stadium from database.
     * 
     * @param stadium removed stadium
     */
    StadiumDTO removeStadium(StadiumDTO stadium);
    
    /**
     * Method finds all stadiums in database and returns them
     * If there are no stadiums in database, method returns empty list.
     * 
     * @return list of all stadiums in database
     */
    List<StadiumDTO> getAllStadiums();
}
